home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
sviluppo
/
svilupp2
/
istar.lha
/
Docs
/
Value Types
< prev
Wrap
Text File
|
1996-06-26
|
4KB
|
116 lines
VALUE TYPES
In this version you are provided with the following basic value types from
which you can make attribute types.
Integer
Numeric for whole numbers
Range: -billion to billion (normal 32 bits)
Held as: 32 bits
Coding: simple signed binary number
Floating point
Numeric for floating point numbers
Range: normal 32 bits
Held as: 32 bits
Coding: normal exponent and mantissa
Ratio
Numerator and denominator, both can be signed
Used for any ratio
Range: Each part has range of full integer.
The ratio can represent infinity by holding denominator = 0
Held as: Two 32 bit integers
Coding: Two simple signed binary numbers
Infinity when denominator = 0
In most manipulations, the greatest common divisor is removed
(so if you multiply 4/7 by 14/15 you get 8/15)
Odds
Numerator and denominator, both positive
Used especially for odds and conversions to and from probability
Used for bayesian multipliers
Range: Each part has range 0 to 65k
Held as: Two unsigned 16 bit words
Coding: Two simple unsigned binary numbers
Infinity when denominator = 0
In most manipulations the greatest common divisor is removed
String
Any string
Range: up to 200 characters in length at present
Held as: child 'Sysatt' block with as much space as needed
Coding: ASCII
Boolean
Truth value: yes or no, true or false
Range: true or false
Held as: unsigned 16 bit word
Coding: 0 = false, anything else = true
Probability
0 to 1 (0 to 100%) for soft truth value
Range: 0 to 1
Held as: Unsigned 16 bit word
Coding: 0x0000 means 0, 0xffff means 1
Bayesian
Probability used for evidential reasoning
Has a-priori and lower and upper cut-offs
Range: Part as probability
Held as: Four probabilities
Coding: As probability, four times
Proportion
Represents a proportion 0 to 100%
Used for anything that requires a limit of 100%
Range: 0 to 100%
Held as: Unsigned 16 bit word
Coding: 0xffff means 100%
In many things proportion and probability are interchangeable
OZMO (one-zero-minus-one, e.g. result of cosine)
Like a proportion that can go negative as well as positive
Used for e.g. degrees of belief, degrees of dislike
Range: -1 to 0 to 1
Held as: Signed 32 bit word,
Coding: 0x80000000 means -1, 0 means 0, 0x7fFFffFF means 1
Direction/Angle (0 to 360 degrees)
A circular value which represents proportion round a circle
Used for angles, directions, etc.
Range: 0 to 360 degrees (2.pi radians)
Held as: Unsigned 16 bit word
Coding: 0x0000 = 0 and 360 degrees. 0xffff = just before 360
90 degrees = 0x4000, 180 degrees = 0x8000, etc.
Enumerated Type
An index number for selecting an entity from a set
See also Ordinal, which is ordered
Strictly, numeric comparisons and operations meaningless
but in practice allowed as for Ordinal
Range: strictly meaningless
Each value is expected to have an attached string name
Held as: Unsigned 16 bit word
Coding: 0 means 'nothing selected', 1 upwards shows selection
Ordinal
An index number for selecting an entiry from a list
See also Enum, which is unordered
Numeric comparisons and operations meaningful
Range: 1 to 65k
Each value can be linked to an attached string name
Held as: Unsigned 16 bit word
Coding: 1 = first in list, 2 = second, etc.
0 = 'nothing selected'
Block
The DSAP of a block in the KB
Used for identifying things in the KB and e.g. getting name of it
Its value must never be altered as it is like a pointer
Range: strictly meaningless
Coding: 32 bit relative pointer
Copyright (c) Andrew Basden, 1996